package com.example._09deepseek.controller;


import io.github.pigmesh.ai.deepseek.core.DeepSeekClient;
import io.github.pigmesh.ai.deepseek.core.chat.ChatCompletionResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import reactor.core.publisher.Flux;

@RestController
public class DeepSeekChatController {
    // 自动注入 DeepSeekClient 实例，用于调用 DeepSeek API
    @Autowired
    private DeepSeekClient deepSeekClient;

    /**
     * 定义一个 HTTP GET 接口，路径为 "/chat"
     * 该接口返回 Server-Sent Events (SSE) 流式响应
     *
     * @param prompt 用户输入的对话提示词（通过请求参数传递）
     * @return 返回一个 Flux 流，包含连续的 AI 响应片段（流式输出）
     */
    @GetMapping(value = "/chat")
    public Flux<ChatCompletionResponse> chat(String prompt){
        // 调用 deepSeekClient 的流式对话接口
        // 返回的 Flux 对象会持续推送 AI 生成的响应片段
        return deepSeekClient.chatFluxCompletion(prompt);
    }
}
